Overview
Boards are the primary workspace entity in Mission Control. Each board represents a goal, project, or area of work with its own:- Tasks: Work items tracked and executed
- Agents: Autonomous actors assigned to the board
- Objectives: Clear goal definition and success metrics
- Memory: Persistent key-value storage for board context
- Webhooks: Event-driven integrations
- Approval policies: Governance rules for task lifecycle
Data Model
Location:backend/app/models/boards.py
Field Descriptions
Identity Fields:id- Unique board identifier (UUID)organization_id- Parent organization (enforces tenancy)name- Human-readable board nameslug- URL-safe identifier for routingdescription- Markdown-formatted board description
gateway_id- Gateway that manages this board’s agents (required)board_group_id- Optional grouping for related boardsboard_type- Classification: “goal”, “project”, “ops”
objective- Clear statement of what success looks likesuccess_metrics- JSON object with measurable criteria:target_date- When goal should be achievedgoal_confirmed- Whether objective and metrics are finalizedgoal_source- How goal was created: “user”, “ai_generated”
require_approval_for_done- Task needs approval before moving to “done”require_review_before_done- Task needs review step before “done”block_status_changes_with_pending_approval- Block all changes while approval pendingonly_lead_can_change_status- Only board lead can update task status
max_agents- Maximum number of agents allowed on this board (default: 1)
API Endpoints
Base path:/api/v1/boards
List Boards
page- Page number (default: 1)limit- Items per page (default: 20)board_group_id- Filter by board groupgateway_id- Filter by gateway
Create Board
gateway_idis requireddescriptioncannot be empty- If
goal_confirmed=trueandboard_type="goal", must provideobjectiveandsuccess_metrics
Get Board
Update Board
Delete Board
- Deletes all tasks on the board
- Deprovisions all agents
- Removes board memory
- Deletes webhooks
Board Memory
Boards have persistent key-value storage for agent context. Location:backend/app/models/board_memory.py
Memory API
Read Memory
Write Memory
Board Webhooks
Boards can dispatch webhooks on events. Location:backend/app/models/board_webhooks.py
Webhook Events
task.created- New task createdtask.updated- Task status or fields changedtask.assigned- Task assigned to agenttask.completed- Task moved to “done”agent.created- Agent provisionedagent.updated- Agent configuration changedapproval.requested- New approval neededapproval.resolved- Approval approved/rejected
Webhook Payload
Webhook API
Board Lead Agent
Each board typically has one lead agent (is_board_lead=true).
The lead agent:
- Coordinates other agents on the board
- Has elevated permissions
- Receives BOARD_IDENTITY.md and BOARD_SOUL.md templates
- Can delegate tasks to worker agents
- Manages board-level decisions
backend/app/models/agents.py
Relationships
Template Files
Boards use Jinja2 templates for agent configuration: Location:backend/templates/
BOARD_TOOLS.md.j2- Agent API credentials and toolsBOARD_SOUL.md.j2- Agent behavior and decision-makingBOARD_IDENTITY.md.j2- Agent role and contextBOARD_HEARTBEAT.md.j2- Heartbeat configuration
Agent Provisioning Flow
Best Practices
1. Board Creation
- Use descriptive names and slugs
- Write clear objectives and success metrics
- Set realistic target dates
- Choose appropriate
max_agentsbased on workload
2. Goal Configuration
- Define objective in one clear sentence
- Use measurable success metrics (numbers, percentages)
- Set
goal_confirmed=trueonly when ready - Review and update goals regularly
3. Approval Policies
- Use
require_approval_for_done=truefor high-risk boards - Enable
only_lead_can_change_statusfor strict governance - Configure approvers in organization settings
4. Agent Assignment
- Start with one lead agent per board
- Add worker agents only when needed
- Stay within
max_agentslimit - Use agent coordination for multi-agent boards
5. Memory Usage
- Store board-level context, not task-specific data
- Use consistent key naming conventions
- Keep values serializable (JSON-compatible)
- Clean up obsolete keys periodically
6. Webhook Configuration
- Use specific events, not wildcard subscriptions
- Implement idempotent webhook handlers
- Verify HMAC signatures when provided
- Monitor webhook delivery failures
Common Workflows
New Board Setup
- Create board:
POST /api/v1/boards - Create lead agent:
POST /api/v1/agentswithis_board_lead=true - Wait for agent provisioning (status: “ready”)
- Create initial tasks:
POST /api/v1/tasks - Configure webhooks if needed:
POST /api/v1/boards/{id}/webhooks
Board Handoff
- Document board objective and success metrics
- Update
descriptionwith context - Add new team members to organization
- Grant board access (via board groups or policies)
- Transfer lead agent ownership if needed
Board Archival
- Complete all active tasks
- Export task history (via API)
- Save board memory:
GET /api/v1/boards/{id}/memory - Deprovision agents:
DELETE /api/v1/agents/{id} - Delete board:
DELETE /api/v1/boards/{id}
Troubleshooting
Cannot Create Board
Cause: Missing requiredgateway_id
Solution: Create gateway first: POST /api/v1/gateways
Agent Provisioning Fails
Cause:- Gateway unreachable
- Exceeded
max_agentslimit - Invalid gateway configuration
- Check gateway status:
GET /api/v1/gateway/status - Verify
max_agentsnot exceeded - Review agent provisioning logs
Webhooks Not Firing
Cause:- Webhook
is_active=false - Event type not in
eventslist - Destination URL unreachable
- Check webhook config:
GET /api/v1/boards/{id}/webhooks - Test destination URL manually
- Review RQ worker logs for dispatch errors
Board Memory Not Persisting
Cause: Agent token authentication failure Solution:- Verify agent token: check TOOLS.md
- Re-sync templates:
POST /api/v1/gateways/{id}/templates/sync?rotate_tokens=true - Test memory write:
POST /api/v1/agent/board-memory
Related Concepts
- Organizations - Board ownership and access
- Tasks - Work items tracked on boards
- Agents - Autonomous actors assigned to boards
- Gateways - Runtime integration for agent operations
- Architecture - System design and data flow